hubotでRM Mini3を操作する
https://gyazo.com/dda93e093247bcd30658a690f6e8bbd2
hubot から RM Mini3 を使えるように拡張する
(ファイルの編集には、nano というエディタを使う。nanoの使い方はこちら → nano) code:sh
$ cd ~/homebot # hubotのディレクトリに移動
$ npm install hubot-broadlink-rm # RM Mini3を使うための拡張スクリプトをインストール
$ nano external-scripts.json # この拡張スクリプトを使う旨を、external-scripts.json に明記
[
"hubot-broadlink-rm", # この1行を追加
:
:
]
(npm install ...に失敗する場合は、sudo npm install ...を試すとうまくいく場合もある。)
動作確認
hubotを起動して、RM Mini3への接続を確認する
code:sh
$ bin/hubot # hubotを起動
INFO hubot-redis-brain: Using default redis on localhost:6379
INFO hubot-redis-brain: Data for hubot brain retrieved from Redis
Discovered Broadlink RM device at 192.168.?.? (xx:xx:xx:xx:xx:xx) # RM Mini3への接続を確認
照明のリモコンを学習してみる
ためしに、照明をONにする赤外線のデータを、「light:on」という名前で学習する。
code:sh
homebot> homebot learn light:on # 今から受信する赤外線データに「light:on」という名前で覚えるように指示
homebot> ready light:on # 〔homebotからの返事〕RM Mini3 が赤外線を受信できる状態になった
# 照明のリモコンの「点灯ボタン」を押すと、、、
set light:on to 2605a0e0f...e0f0d050 # 〔homebotからの返事〕学習完了
(注意:learnコマンドの前のhomebot を打ち忘れないように。)
https://gyazo.com/9682dcf77d21a3d80abea6f32204855d ← 学習モードの RM Mini3 は、LED が白く光る 学習した赤外線データを、RM Mini3 に発信させてみる
code:sh
homebot> homebot send light:on # 「light:on」の赤外線データを発信するように指示
homebot> sent light:on # 〔homebotからの返事〕発信完了 → 照明が点灯した!
(注意:sendコマンドの前のhomebot を打ち忘れないように。)
せっかくなので、やり方を忘れないうちに、他のリモコン操作 light:off、tv:on、tv:off、aircon:on、aicon:off なども学習しておく。
なお、赤外線データの名前は、自分が覚えやすいように、自由に付けられる。名前に使える文字は、小文字 a〜z、数字0〜9、:。
複数の家電を、まとめて一斉に OFF にしてみる
次のコマンド一発で、照明とテレビとエアコンを、まとめて OFF にできる。
code:sh
homebot> homebot send light:off tv:off aircon:off
赤外線を発信する間隔を調整してみる
例えば、30秒後に消灯し、その85ミリ秒後にテレビを消し、10分後にエアコンを消すには、次のコマンドを与える。
code:sh
homebot> homebot send 30s light:off 85ms tv:off 10m aircon:off 赤外線の発信回数を指定してみる
例えば、テレビの音量アップ(tv:vol:up)を4回繰り返すには、*4を添えた、次のようなコマンドを与える。
code:sh
homebot> homebot send tv:vol:up*4
テレビの1〜8番のチャンネルを、一気に学習してみる
8つのチャンネルの学習するために、わざわざ8回もlearnコマンドを入力するのは面倒なので、1回のコマンド入力だけで、8つのチャンネルをまとめて学習できる仕組みが用意されている。
例えば、次のコマンド一発で、8つの赤外線データ tv:ch1, tv:ch2, ..., tv:ch8 を、一気に学習できる。
code:sh
homebot> homebot learn tv:ch 1-8 # 一気に学習するためのコマンド
homebot> ready tv:ch1 # まず、テレビのリモコンのチャンネル1のボタンを押すと、、、
set tv:ch1 to ... # tv:ch1 という名前で学習される。
ready tv:ch2 # 続けて、チャンネル2のボタンを押せば、、、
set tv:ch2 to ... # tv:ch2 という名前で学習される。
ready tv:ch3 # チャンネルのボタンを連打するだけで、学習が完了する。
set tv:ch3 to ...
エアコンの温度(暖房14〜30°C、冷房18〜32°C)の設定を、一気に学習してみる
同様に、エアコンの温度設定も一気に学習できる。
温度を上げるボタンを連打するだけで学習できるので、作業にかかる時間はほんの数分で済む。
code:sh
homebot> homebot learn aircon:warm 14-30
homebot> homebot learn aircon:cool 18-32
複数のRM Mini3を使い分けてみる
台所を消灯して、寝室を点灯するというような、複数台のRM Mini3を使い分けることもできる。 code:sh
homebot> homebot set @kitchen xx:xx:xx:xx:xx:xx # 台所のRM Mini3に名前を付ける(MACアドレスで識別)
homebot> homebot set @bedroom 192.168.123.456 # 寝室のRM Mini3に名前をつける(IPアドレスでも識別可)
homebot> homebot send light:on@kitchen # 台所の明かりをつける
homebot> homebot send light:off@kitchen light:on@bedroom # 台所で消灯して、寝室で点灯する
homebot> homebot learn tv:on @bedroom # 寝室のRM Mini3で学習する
格安のRM Mini3だからこそ、気軽にたくさんの部屋に設置できるので、ぜひお試しを。
learnやsendの他にも、helpやlist、get、set、deleteといった便利なコマンドがある。
2017/12/16